Строки
Какие интересные задачи связаны с работой со
строками? Шифровка-дешифровка информации. Поиск в длинном
тексте (например, в словаре или в инструкции по игре) нужного слова, которое
просто так, глазами, искать очень долго. Автоматическое исправление орфографических
ошибок в диктанте по русскому языку. И так далее.
Для решения этих задач мы должны уметь
"влезать внутрь строк", то есть анализировать и преобразовывать
строки.
Напомним вам:
Функция |
Результат |
Пояснение |
Val ("12 слив и 9 персиков") |
12 |
Функция читает строку
слева направо, пока не натолкнется на символы, никакого отношения к числам
не имеющие |
Val (" – 10 груш") |
-10 |
На пробелы при этом внимание не
обращается |
3 *
Val ("2" &
"0") |
60 |
Выражение
"2" & "0" равняется строке "20", поэтому Val ("2" & "0") равняется
числу 20 |
Str (5* 5) |
25 |
Число 25 преобразуется в строку "25".
Хотя, надо сказать, что Visual
Basic
при работе сданными во многих случаях сам, без всякого вмешательства,
услужливо преобразовывает данные в удобный с его точки зрения тип |
Когда мы вводим текст в текстовое окно, мы часто не
замечаем, что лишний раз нажали на клавишу пробела, тем более что лишние пробелы,
особенно, в самом начале и в самом конце строки, заметить трудно. Мы не всегда
заботимся о том, чтобы избавиться от них. А зачем? А затем, что компьютер
пробелы видит не хуже любой буквы и считает их полноправными символами. Мы
склонны считать строки "Африка" и "Африка " вполне
одинаковыми. Компьютер же не может позволить себе такой вольности, он прекрасно
видит, что во второй строке в конце стоит пробел. Значит, строки не равны, и
это может привести к неожиданным для нас результатам.
Следующие 3 функции позволяют нам справиться с невнимательностью:
Функция |
Результат |
Пояснение |
"Ж"
& LTrim("книга
интересная
") & "Ж" |
Жкнига интересная Ж |
Функция
LTrim отсекает ведущие слева пробелы |
"Ж"& RTrim("книга
интересная
") & "Ж" |
Ж книга интересная Ж |
Функция
RTrim отсекает волочащиеся справа
пробелы |
"Ж" & Trim
("книга интересная ") & "Ж" |
Жкнига интереснаяЖ |
Функция Trim
отсекает
пробелы и слева и справа |
Функция |
Результат |
Пояснение |
InStr ("Астроном", "трон") |
3 |
Позиция
(номер символа), начиная с которой строка "трон" находится в строке
"Астроном" |
InStr ("Астроном", " трон") |
0 |
Строка "Трон" не
найдена в строке "Астроном" |
Left ("Победа", 2) |
По |
Два левых символа в строке |
Right ("Победа",
3) |
еда |
Три правых символа в строке |
Ucase ("астРОнОм") |
АСТРОНОМ |
Все символы строки переводятся
в верхний регистр |
Lease ("астРОнОм") |
астроном |
Все символы строки переводятся
в нижний регистр |
Таблица ASCII
Символы, используемые в работе с компьютерами,
сведены в так называемую таблицу
ASCII. У
каждого из них есть порядковый номер в этой таблице. Его нам сообщает функция Asc. Функция же Chr, наоборот, по номеру сообщает символ:
Функция |
Результат |
Пояснение |
Asc «Ы» |
219 |
Буква Ы стоит в таблице ASCII под 219-м номером |
Chr (219) |
Ы |
Под 219-м номером в таблице ASCII стоит буква Ы |
Всего
в таблице ASCII
256 символов, пронумерованных от 0
до 255. Вот фрагмент, распечатывающий эти символы
начиная с 32-го:
For i
= 32 То 255
Print Chr(i)
Next